1. Field of the Invention
The present invention relates to communications, such as the communications between components on a circuit board or between a fiber optic transmitter and receiver.
2. Description of the Related Art
FIG. 1 is a high-level block diagram of a serial communications system 100 comprising a transmitter 102, a receiver 110, and a channel 106, which carries signals from transmitter 102 to receiver 110. The transmitter takes as its input a stream of binary ones and zeroes and encodes that bitstream as a signal appropriate to the medium, e.g., a stream of changing voltages on a circuit board or varying pulses of light over a fiber optic cable. Typically, this encoding is done at a steady rate determined by the transmitter's clock frequency, so that each encoded bit occupies an equal amount of time known as the Unit Interval (UI).
There are many such encoding methods, divided into two main families: synchronous and asynchronous. In synchronous encoding, the transmitter's clock signal is sent to the receiver on a channel separate from the data. In contrast, asynchronous encoding does away with a separate channel and embeds the clock signal in the data stream itself.
Asynchronous encoding can be divided further into two groups: Return-to-Zero (RZ) and Non-Return-to-Zero (NRZ). RZ encoding uses two values to represent the binary data and a third or “zero” value to represent the boundaries between symbols. Like synchronous coding, RZ encoding provides a steady stream of value transitions to represent clock signals, but does so at a high cost: half the bandwidth is consumed by these non-data zero values.
NRZ encoding recovers this bandwidth by doing away with the zero values and encoding the data with only two values. The tradeoff is that an NRZ receiver cannot rely on a metronomic sequence of value transitions to serve as an unambiguous clock signal. For example, in an NRZ signal, a sequence of repeating zeroes may be represented by an equally long period without transitions. Thus, an NRZ receiver typically uses the transitions that are present to synchronize its own internal clock and uses that internal clock to make educated guesses as to where to sample when no transition is present. The receiver module that extracts the clock signal from an NRZ signal is known as a timing recovery unit (TRU) and is typically implemented using a phase locked loop (PLL).
For all these methods, the decoding of a signal is made more difficult by the distortion added by various components in the system. Of particular concern here is a specific distortion called “jitter,” defined as short-term variations of a digital signal's transitions from their ideal positions in time. In other words, jitter is phase distortion, e.g., a transition event arriving earlier or later than ideal. Even if the transmitter and receiver clocks are perfectly synchronized, jitter might cause a transition to arrive at some time other than expected, in turn possibly causing the receiver to sample at the wrong time and yield a bit error.
A common tool for visualizing and quantifying the impact of jitter and other distortion on signals is the “eye diagram,” examples of which can be found in FIG. 1. The signal of interest is captured on an oscilloscope set to relatively long persistence so that successive signals accumulate on the screen. Typically, a period of two UI is set, with one complete UI in the middle of the screen and one-half of a UI on either side. As the signals accumulate, an “eye” is defined on the screen. In FIG. 1, graph 104 is a relatively undistorted signal with a large, clearly defined eye, while graph 108 shows how jitter and other distortion cause the eye opening to shrink both vertically and horizontally. This shrinkage may result in a larger bit error rate (BER) and, consequently, poor or unacceptable performance.
There are two basic types of jitter: random and deterministic. Random jitter is the sum of countless minor distortions caused by thermal noise, external interference, etc. The amplitude of random jitter is treated as a random variable with Gaussian statistics. The Gaussian probability distribution function implies that the peak-to-peak amplitude of the random jitter is a function of observation interval, e.g., a larger peak-to-peak range will be observed over longer periods of time. Deterministic jitter, on the other hand, can be associated with a particular cause and hence is typically non-Gaussian and bounded (i.e., it has minimum and maximum values).
Serial interface standards specify the jitter output of transmitters, the jitter tolerance of receivers, and, either explicitly or by reference, the jitter contributed by a channel. These standards are derived from, and are sometimes accompanied by, a jitter budget, which is a means to ensure that the worst-case compliant transmitter and channel do not exceed the jitter tolerance of the worst-case compliant receiver.
Typically, these standards operate by defining one or more “reference” devices, i.e., software models of hypothetical devices, e.g., a reference receiver, a reference channel, or a reference transmitter. Compliance with the standard is defined as meeting one or more metrics when interoperating with the reference devices defined by the standard. For example, a transmitter standard might define a reference channel and a reference receiver. To determine whether a particular transmitter meets the transmitter standard, the transmitter's output is captured as a digital file, and then that file is processed through the transmitter standard's reference channel and reference receiver. If the resulting signal meets one or more metrics specified by the transmitter standard, then the transmitter is compliant.
As device-makers wring more performance from their products by increasing clock speeds and reducing voltage levels, it becomes increasingly difficult to “close” the jitter budget and hence comply with standards. In response, device-makers implement increasingly sophisticated tools to maintain compliance with these standards. For example, device-makers first used fixed frequency equalizers to compensate for certain types of jitter. However, the optimal frequency for such an equalizer is a function of the length of the channel connecting transmitter and receiver. As such, fixed equalizers have been replaced by adaptive equalizers which can automatically tune themselves to the optimal frequency, thus squeezing even more performance from the system.
Serial interface standards are updated regularly to reflect these realities. Specifically, reference device models are routinely updated so that they accurately mirror the performance of their physical counterparts. Without such updating, standards become over-demanding, requiring device makers to waste resources trying to accommodate reference models based on older, less-efficient devices. In a world where adaptive equalizers are the norm, a standard based on static equalizers forces compliant devices to be more expensive than they need to be to deliver a specified BER.
Similarly, standards are periodically revisited to ensure that they are not under-demanding due to simplifying assumptions. For example, some current serial interface standards include reference receivers that do not model the transient response of the TRU or its sensitivity to the transition density of the input signal. Failure to account for these factors leads to errors in performance estimation could result in compliant devices failing to interoperate in a worst-case environment.
IEEE Std 802.3aq-2006 (http://standards.ieee.org/getieee802/download/802.3aq-2006.pdf) is one standard in use today that addresses the issue of jitter in high-speed serial communications. This standard describes the Transmitter and Waveform Dispersion Penalty (TWDP), which is used as a measure of the quality of an optical transmitter.
FIG. 2 is a block diagram of the TWDP standard. Symbols a(k) are fed into transmitter 202. The output of transmitter 202 is captured and processed through a reference channel 204. Reference channel 204 is a software program that emulates the behavior of a physical channel, e.g., channel 106 of FIG. 1. The user of the standard selects a specific reference channel from a set of reference channels. These reference channels emulate different types of channels; e.g., one reference channel might emulate a certain type of copper cable, while another emulates a certain type of fiber optic cable.
Reference channel 204 outputs signal u(t). Adder 206 combines u(t) with white Gaussian noise n(t) which may emulate the noise present in an optical channel, crosstalk in an electrical channel, or other sources of noise related to the application of interest, and sends the resulting noisy signal v(t) to reference receiver 208. Reference receiver 208 is a software program that emulates the behavior of a physical receiver, e.g., receiver 110 of FIG. 1. Reference receiver 208 includes a reference adaptive equalizer of fixed complexity.
FIG. 3 is a block diagram of prior art TWDP/WDP reference receiver 208 of FIG. 2. Input signal v(t) is sent to anti-aliasing filter 302, which filters out all frequencies higher than half the data rate (e.g., for a data rate of 10 Gb/s, filter 302 will filter out all frequencies above 5 GHz). Filter 302 is typically a fourth-order Butterworth filter.
The analog output y(t) of anti-aliasing filter 302 is then sampled by continuous-to-discrete (C/D) module 304, the exact sampling points being determined by a stream s(t) of impulses as defined by the following Equation (1):
                              s          ⁡                      (            t            )                          =                              ∑            k                    ⁢                      δ            ⁡                          (                                                t                  s                                +                                  kT                  M                                            )                                                          (        1        )            where ts is the timing offset, and T/M is the sampling rate, where T equals the UI duration and M is the oversampling factor, e.g., two. Timing offset ts is calculated by dividing the UI into a number of equal segments (e.g., 16) and selecting the value of ts that yields the minimum mean-squared error of error signal e(k).
The output y(k) of C/D module 304 is then sent to Minimum-Mean-Squared-Error Decision Feedback Equalizer (MMSE-DFE) 306. In particular, y(k) goes to discrete-time feed-forward filter 308, whose coefficients ci are set so as to minimize the error signal e(k). The output y′(k) of that filter is defined by the following Equation (2):
                                          y            ′                    ⁡                      (            k            )                          =                              ∑                          i              =              0                                      N              -              1                                ⁢                                    c              i                        ⁢                          y              ⁡                              (                                  k                  -                  i                                )                                                                        (        2        )            
Downsampler 310 downsamples the output from filter 308 at oversampling rate M. Combiner 312 subtracts the output â′(k) of feedback filter 314 from the output of downsampler 310 to yield yc(k). Signal yc(k) can be viewed as the sum of 1) noise-free samples zc(k) and 2) sampled, filtered noise nc(k) which is n(t) filtered by anti-aliasing filter 302 and discrete-time filter 308 in FIG. 3.
Signal yc(k) is sent to bit slicer 316, which renders signal â(k). Combiner 318 subtracts output signal â(k) from signal yt(k) to yield the error signal e(k). Lastly, â(k) is used as the input to feedback filter 314, which has coefficients di also set so as to minimize error signal e(k). The output â′(k) of that filter is defined by the following Equation (3):
                                                        a              ^                        ′                    ⁡                      (            k            )                          =                              ∑                          i              =              0                                      N              -              1                                ⁢                                    d              i                        ⁢                                          a                ^                            ⁡                              (                                  k                  -                  i                                )                                                                        (        3        )            
Returning to FIG. 2, reference receiver 208 sends yc(k) to TWDP Calculation module 210. TWDP Calculation module 210 calculates the signal-to-noise ratio (SNR) of yc(k), and compares that SNR value to the SNR of an ideal receiver (i.e., matched filter) driven by an ideal transmitter via an ideal channel with additive white Gaussian noise n(t).
The difference between the two SNR values is a final metric 212 called the Transmitter and Waveform Dispersion Penalty (TWDP), where a larger penalty corresponds to a lower-quality transmitter output. A variation of this method, referred to as WDP, has also been proposed to evaluate a signal captured at the output of a channel, hence removing the channel portion of the software emulation.
Another standard in use is the XFP implementation agreement, INF-8077i (www.xfpmsa.org/XFP_SFF_INF—8077i_Rev4—0.pdf.), which defines the concept of “equalizable jitter” (EQJ) and describes a test to quantify such jitter using a fixed analog equalizer (consisting of a single zero and a single pole) and a reference timing recovery unit.
Yet another standard is the OIF-CEI implementation agreement (www.oiforum.com/public/documents/CEI_P-01.0.pdf), which uses a reference transmitter and receiver, but not a reference timing recovery unit, to test the compliance of channels. OIF-CEI acknowledges that a portion of the deterministic jitter allocation in the jitter budget is “equalizable” and uses this fact to close its informative jitter budget. However, no test is defined to measure this quantity.